100 : 110 REM NUMBER FILTER ML ROUTINE 120 : 130 REM FORM: SYS Z, X$, Y$, X 140 REM WHERE Z IS THE START ADDRESS 150 REM X$ STORES THE RESULT 160 REM Y$ IS THE FILTER STRING 170 REM AND X IS THE NUMBER TO FILTER 180 : 190 REM FOR EXAMPLE: 200 REM SYS 49152,A$,"FCFFDVAA",X*.14 210 : 220 S=49152:PRINT"RELOCATE TO "RIGHT$(" "+STR$(S),6)"[157][157][157][157][157][157][157]";:INPUT S 230 IF(S>3000 AND S<40959)OR(S>49151 AND S<53247)THEN250 240 PRINT"OUT OF BOUNDS!":GOTO220 250 X=S:Z=0:C=0:RESTORE:PRINT"POKING" 260 READ Y:IF Y<256 THEN POKE X,Y:Z=Z+Y:X=X+1:C=C+Y:PRINT".";:GOTO260 270 PRINT:PRINT"RELOCATING":IF Y<>999 THEN PRINT"ERROR IN DATA":STOP 280 READ Y:IF Y<>C THEN PRINT"CHECKSUM ERROR"C","Y:STOP 290 READ X:PRINT".";:IF X<0 THEN320 300 P=PEEK(S+X)+256*PEEK(S+X+1)-49152+S:POKE S+X+1,P/256 310 POKE S+X,P-PEEK(S+X+1)*256:GOTO290 320 END 330 REM LAYOUT: 1-ML DATA; 2-'999'; 3-CHECKSUM; 4-RELOCATION OFFSET; 5-'-1' 340 DATA 32,253,174,32,139,176,133,73,132,74,32,253,174,32,158,173,32,82,170 350 DATA 160,2,177,73,153,2,0,136,16,248,168,240,4,201,120,144,3,76,113,165 360 DATA 32,253,174,32,158,173,32,221,189,32,56,192,169,25,133,22,96,32,154 370 DATA 193,24,102,27,164,7,200,196,2,176,10,230,7,177,3,32,98,192,24,144 380 DATA 239,164,22,240,14,56,102,27,136,198,22,177,3,32,98,192,24,144,238 390 DATA 96,133,25,132,26,162,10,32,116,192,176,2,165,25,164,26,145,3,96,202 400 DATA 16,2,56,96,221,139,192,208,246,138,10,170,189,150,192,72,189,149,192 410 DATA 72,24,96,90,83,65,78,77,70,80,67,68,86,168,192,196,192,188,192,193 420 DATA 192,209,192,206,192,244,192,11,193,52,193,184,192,173,1,1,201,48,208 430 DATA 13,173,2,1,208,8,169,32,56,96,169,46,56,96,32,85,193,56,96,169,32 440 DATA 44,169,43,36,28,16,2,169,45,56,96,162,42,44,162,32,169,36,133,29,134 450 DATA 32,36,27,16,223,32,85,193,176,16,200,177,3,201,48,144,6,201,58,176 460 DATA 2,166,29,138,133,29,56,96,169,32,36,27,48,8,36,28,16,2,169,41,56,96 470 DATA 170,169,40,36,28,48,204,16,177,200,196,120,240,18,177,3,201,82,208 480 DATA 12,36,28,48,2,24,96,169,32,145,3,56,96,136,36,27,16,149,166,32,32 490 DATA 85,193,144,175,230,6,169,44,56,96,200,196,120,240,18,177,3,201,66 500 DATA 208,12,36,28,16,2,24,96,169,32,145,3,56,96,32,85,193,176,2,169,48 510 DATA 56,96,134,30,132,31,166,27,48,14,160,48,166,5,189,0,1,240,28,230,5 520 DATA 232,208,9,164,29,166,6,240,17,198,6,202,189,0,1,201,48,144,7,201,58 530 DATA 176,3,56,176,2,152,24,166,30,164,31,96,162,255,168,232,152,221,0,1 540 DATA 240,6,189,0,1,208,244,24,96,169,69,32,137,193,144,13,164,2,169,42 550 DATA 136,145,3,136,16,251,104,104,96,169,46,32,137,193,134,5,134,6,160 560 DATA 0,177,3,201,86,240,5,200,196,2,208,245,132,22,136,132,7,173,0,1,201 570 DATA 45,102,28,169,32,133,29,133,32,96 580 DATA 999,48885 590 DATA 49,57,74,92,105,122,130,134 600 DATA 149,151,153,155,157,159,161 610 DATA 163,165,167,190,223,299,333 620 DATA 413,433,-1